home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre4.z / postgre4 / src / lib / H / utils / fcache.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  1.5 KB  |  48 lines

  1.  
  2. /*
  3.  *    FCACHE.H
  4.  *
  5.  *    $Header: /private/postgres/src/lib/H/utils/RCS/fcache.h,v 1.7 1992/07/08 05:02:56 mer Exp $
  6.  */
  7.  
  8. #ifndef FcacheIncluded
  9. #define FcacheIncluded 1 /* include once only */
  10.  
  11. #include "utils/fmgr.h"
  12.  
  13. typedef struct
  14. {
  15.     int      typlen;      /* length of the return type */
  16.     int      typbyval;    /* true if return type is pass by value */
  17.     func_ptr func;          /* address of function to call (for c funcs) */
  18.     ObjectId foid;          /* oid of the function in pg_proc */
  19.     ObjectId language;    /* oid of the language in pg_language */
  20.     int      nargs;          /* number of arguments */
  21.  
  22.     /* Might want to make these two arrays of size MAXFUNCARGS */
  23.  
  24.     ObjectId *argOidVect; /* oids of all the arguments */
  25.     bool     *nullVect;   /* keep track of null arguments */
  26.  
  27.     char     *src;          /* source code of the function */
  28.     char     *bin;          /* binary object code ?? */
  29.     char     *func_state; /* fuction_state struct for execution */
  30.  
  31.     bool     oneResult;   /* true we only want 1 result from the function */
  32.     bool     hasSetArg;   /* true if func is part of a nested dot expr
  33.                    * whose argument is func returning a set ugh!
  34.                    */
  35.  
  36.     Pointer  funcSlot;    /* if one result we need to copy it before we
  37.                    * end execution of the function and free stuff
  38.                    */
  39.  
  40.     char     *setArg;     /* current argument for nested dot execution
  41.                    * Nested dot expressions mean we have funcs
  42.                    * whose argument is a set of tuples
  43.                    */
  44. }
  45. FunctionCache, *FunctionCachePtr;
  46.  
  47. #endif FcacheIncluded
  48.